home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revolution - Das Atari CD Magazin 1997
/
Revolution - Das Atari CD Magazin 1.iso
/
software
/
anwendng
/
qed_397
/
sourcen
/
global.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-14
|
7KB
|
201 lines
/*****************************************************************************/
/* */
/* Modul: EXTERN.H */
/* */
/*****************************************************************************/
#ifndef _qed_global_h_
#define _qed_global_h_
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <portab.h>
#include <aes.h>
#include <vdi.h>
#include <tos.h>
#include <mglobal.h>
#include <mydial.h>
#include <nkcc.h>
#include <xrsrc.h>
#include <time.h>
#include "set.h"
#ifdef __TURBOC__
#define global _GemParBlk.global /* etwas portabler */
#endif
/* MK@UN: Die folgenden Definitionen sind möglicherweise schon
in aes.h / vdi.h vorhanden: */
#ifndef TA_LEFT /* text alignment */
#define TA_LEFT 0
#define TA_ASCENT 2
#define TA_TOP 5
#endif
#ifndef SMALLER /* AES 4.1 */
#define SMALLER 0x4000
#endif
#ifndef SC_CHANGED
#define SC_CHANGED 80
#endif
/****** DEFINES **************************************************************/
#define NO_HANDLE (-1) /* Wert für ungültiges Handle */
#define NDC 0 /* Normalisierte Koordinaten */
#define RC 2 /* Raster Koordinaten */
#define odd(i) ((i) & 1)
#define EOS '\0'
#define NIL -1
/****** TYPES ****************************************************************/
#define MAX_PATH_LEN 1024
typedef UBYTE PATH[MAX_PATH_LEN];
#define MAX_NAME_LEN 255
typedef UBYTE FILENAME[MAX_NAME_LEN];
typedef struct
{
FILENAME name;
FILENAME suffix;
} FSEL;
typedef enum
{
POS_CHANGE,
LINE_CHANGE,
TOTAL_CHANGE,
NOP_CHANGE,
SCROLL_UP,
SCROLL_DOWN,
MOVE_UP,
MOVE_DOWN,
BLK_CHANGE
} CHANGE;
/*
SCROLL_UP : Alles unter der aktuellen Zeile wird hochgescrollt,
die letzte Zeile wird natürlich neu geschrieben.
(Cntrl-Y, und Delete am Ende der Zeile).
SCROLL_DOWN : Alles unterhalb der aktuellen Zeile und diese Zeile werden
nach unten gescrollt, die aktuelle Zeile wird neu
geschrieben. Ist auch LINE_CHANGE gesetzt wird auch die
Zeile vor der aktuellen Zeile neu geschrieben.
(RETURN, last_out_klemm)
MOVE_UP,_DOWN : Das Fenster wird hoch und runter gescrollt um anz Zeilen
BLK_CHANGE : Die Blockmarkierung wurde geändert.
*/
typedef struct
{
LONG x;
LONG y;
LONG w;
LONG h;
} LRECT;
/****** VARIABLES ************************************************************/
EXTERN WORD phys_handle; /* Physikalisches Workstation Handle */
EXTERN WORD gl_apid; /* Identifikation für Applikation */
EXTERN WORD gl_wchar; /* Je nach aktuellem Font z.B. 8*16 */
EXTERN WORD gl_hchar;
EXTERN WORD sys_wchar; /* 8*16 */
EXTERN WORD sys_hchar;
EXTERN WORD sys_wbox; /* 19*19 */
EXTERN WORD sys_hbox;
EXTERN WORD min_ascii;
EXTERN WORD max_ascii;
EXTERN WORD fill_color; /* aktuell eingestellte Füllfarbe */
EXTERN WORD planes; /* Anzahl der Planes */
EXTERN WORD gem; /* GEM-Version */
EXTERN BOOLEAN mint; /* MiNT aktiv? */
EXTERN BOOLEAN aes41; /* MultiTOS/N.AES aktiv? */
EXTERN WORD magx; /* MagiC da (>0) -> Version */
EXTERN BOOLEAN gdos; /* GDOS vorhanden? */
EXTERN BOOLEAN global_shift; /* bei aktueller Opertion wurde Shift gedrückt */
EXTERN BOOLEAN quick_close; /* Sichern der Texte ohne Nachfrage */
EXTERN WORD vdi_handle; /* Virtuelles Workstation Handle */
EXTERN RECT desk; /* Bildschirm-Größe 0,19,640,381 */
EXTERN BOOLEAN done; /* Ende gewählt ? */
EXTERN PATH qed_path; /* Name und Pfad der QED-Datei */
EXTERN PATH app_path; /* Pfad der Applikation */
EXTERN PATH scrapdir; /* Clipboard-Pfad */
EXTERN struct tm *local_time; /* enthält die aktuelle Uhrzeit */
EXTERN WORD desire_x, return_code;
EXTERN LONG desire_y, undo_y;
/****** FUNCTIONS ************************************************************/
WORD open_vwork (WORD *w_out);
VOID Set_mouse (int number);
WORD Get_mouse (void);
BOOLEAN Mouse_sleeps (void);
VOID Sleep_mouse (void);
VOID Wake_mouse (void);
VOID Last_mouse (void);
VOID Hide_mouse (void);
VOID Show_mouse (void);
VOID Busy_mouse (void);
VOID Arrow_mouse (void);
VOID print_headline (UBYTE *str);
VOID start_aktion (CONST UBYTE *head, BOOLEAN inter, LONG max);
VOID do_aktion (LONG value);
VOID end_aktion (VOID);
VOID str_upper (UBYTE *str);
VOID str_lower (UBYTE *str);
BOOLEAN str_to_key (UBYTE *str, MKINFO *mk);
BOOLEAN inside (WORD x, WORD y, CONST RECT *r);
BOOLEAN get_clip (RECT *size);
VOID set_clip (BOOLEAN flag, CONST RECT *size);
WORD note (WORD button, WORD index);
WORD inote (WORD button, WORD index, LONG i);
WORD snote (WORD button, WORD index, UBYTE *str);
VOID make_shortpath (CONST UBYTE *path, UBYTE *shortpath, WORD maxlen);
BOOLEAN make_normalpath(UBYTE *path, BOOLEAN with_filename);
VOID make_ext (UBYTE *fullname, CONST UBYTE *ext);
VOID get_datum (UBYTE *date);
long file_time (CONST UBYTE *filename, UBYTE *date, UBYTE *time);
long file_size (CONST UBYTE *filename);
VOID file_name (CONST UBYTE *fullname, UBYTE *filename, BOOLEAN withoutExt);
VOID file_splitt (CONST UBYTE *fullname, UBYTE *path, UBYTE *name);
WORD get_first_drive(VOID);
VOID drive_name (WORD drive, UBYTE *name);
VOID get_drive_space(WORD drive, ULONG *total, ULONG *free);
BOOLEAN get_path (UBYTE *path, UBYTE drive);
BOOLEAN set_path (UBYTE *path);
BOOLEAN file_exist (CONST UBYTE *filename);
BOOLEAN file_readonly (CONST UBYTE *filename);
BOOLEAN path_exist (CONST UBYTE *pathname);
VOID set_fsel_path (CONST UBYTE *path);
BOOLEAN select_file (FSEL *fsel, UBYTE *filename, CONST UBYTE *lable);
UBYTE **select_mfile (FSEL *fsel, UBYTE *path, CONST UBYTE *lable, WORD *anz);
VOID init_global (VOID);
VOID term_global (VOID);
#endif